package com.surpassun.emall.service;

import java.util.Date;
import java.util.List;

import com.surpassun.emall.model.Address;
import com.surpassun.emall.model.Role;
import com.surpassun.emall.model.Store;
import com.surpassun.emall.model.User;

public interface UserService extends AbstractService<User> {

	public void add(String title, String firstname, String lastname, String email, String password,
    		String phone, boolean active, Address address, List<Role> roles);
	
	public void update(User user, String title, String firstname, String lastname, String email, String password,
    		String phone, String lastLoginIP, Date lastLoginDate, boolean active, Address address, List<Role> roles, List<Store> stores);
	
	public User getUserByEmail(String email);

	public User login(String email, String password, String ip);

	public void updatePassword(User user, String password);
	
	public String resetPassword(User user);
}
